A namespace is the set of names in use for a given section of code.
Each name names a Python object such as a string, an int, a float, etc.
The namespace is a many-to-one mapping in that there may be more than one name for any object, but there will not be more than one object for one name (at any point in time).
A namespace is dynamic in that over time one name may name multiple objects, but at any point in time there will be only one object named by a name.
